当前位置: 首页> 函数类别大全> curl_multi_add_handle

curl_multi_add_handle

向curl批处理会话中添加单独的curl句柄
名称:curl_multi_add_handle
分类:CURL
所属语言:php
一句话介绍: 向curl批处理会话中添加单独的curl句柄

curl_multi_add_handle 函数

适用PHP版本

PHP 5.1.0 及以上版本

函数说明

curl_multi_add_handle() 函数用于将一个cURL句柄(即curl_init()返回的句柄)添加到一个cURL多重请求句柄中。这是cURL的多线程(多请求)处理的一部分,允许在一个请求中同时发起多个请求,提升网络请求的效率。

函数语法

  curl_multi_add_handle(resource $mh, resource $ch): int
  

参数

  • $mh (resource): 多重cURL句柄,通常通过curl_multi_init()创建。
  • $ch (resource): 要添加的cURL句柄,通常通过curl_init()创建。

返回值

返回值是一个整数,表示操作结果。如果成功,返回CURLM_OK(即0)。如果发生错误,返回相应的错误代码。

示例

以下是使用 curl_multi_add_handle() 函数的一个示例,展示如何同时发起多个HTTP请求:

示例代码的说明

本示例展示了如何初始化多个cURL请求,并将其添加到一个多重请求句柄中,然后执行这些请求:

  <?php
  // 初始化一个多重cURL句柄
  $mh = curl_multi_init();

  // 创建第一个cURL请求句柄
  $ch1 = curl_init('http://www.example.com');
  curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true);

  // 创建第二个cURL请求句柄
  $ch2 = curl_init('http://www.example.org');
  curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);

  // 将cURL请求句柄添加到多重句柄中
  curl_multi_add_handle($mh, $ch1);
  curl_multi_add_handle($mh, $ch2);

  // 执行多个请求
  $running = null;
  do {
      curl_multi_exec($mh, $running);
  } while ($running > 0);

  // 获取并输出结果
  $response1 = curl_multi_getcontent($ch1);
  $response2 = curl_multi_getcontent($ch2);
  
  echo "Response from example.com: " . $response1;
  echo "Response from example.org: " . $response2;

  // 关闭cURL句柄
  curl_multi_remove_handle($mh, $ch1);
  curl_multi_remove_handle($mh, $ch2);
  curl_multi_close($mh);
  ?>
  
同类函数
热门文章